<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
      <title>GTL - Graph Template Library: node Class Reference</title>
      <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head>
  <body>
    <p class="links">  
      <a href="../index.html">Home</a> |
      Documentation |
      <a href="../register.html">Download</a> |
      <a href="../platforms.html">Platforms</a> |
      <a href="../refer.html">Projects</a> |      
      <a href="../lists.html">Mailing Lists</a> |
      <a href="../history.html">Version History</a>
    </p>

<!-- Generated by Doxygen 1.5.3 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li class="current"><a href="classes.html"><span>Classes</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
  </ul>
</div>
<div class="tabs">
  <ul>
    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
  </ul>
</div>
<h1>node Class Reference</h1><!-- doxytag: class="node" -->A <a class="el" href="a00020.html" title="A node in a graph.">node</a> in a <a class="el" href="a00014.html" title="A directed or undirected graph.">graph</a>.  
<a href="#_details">More...</a>
<p>
<div class="dynheader">
Collaboration diagram for node:</div>
<div class="dynsection">
<p><center><img src="a00177.gif" border="0" usemap="#a00178" alt="Collaboration graph"></center>
<map name="a00178">
<area shape="rect" title="int_node" alt="" coords="53,5,61,13"><area shape="rect" title="int_node" alt="" coords="53,24,61,32"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="a00179.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#82669b7358b50bd8d7888d7df4ff8dfa">node</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#865fb0f86c522be2ed471f7e6bf2cd72">degree</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#faeabb676462c9c783268580e0346308">outdeg</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#572306615483cdb92b3bbd64929662f6">indeg</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="a00020.html">node</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#f3c6d83261cbca46465367882bd8d82a">opposite</a> (<a class="el" href="a00010.html">edge</a> e) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#3b99faf3a3b0d276779ecaee20dc1958">is_hidden</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#76dd179b0b9837b789f4d83aeeb2256c">excentricity</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">adj_nodes_iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#9888b8b82c07004d312118db5faed2a3">adj_nodes_begin</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">adj_nodes_iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#75ccc034a6dbec34b3b6040ca83b5c0d">adj_nodes_end</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">adj_edges_iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#3261a65141fbdb83fc43dae39096c266">adj_edges_begin</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">adj_edges_iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#9e0e440572dbf1a8922490d4fb0ad492">adj_edges_end</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">in_edges_iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#c41a2f299c0476d172219fde4166fb46">in_edges_begin</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">in_edges_iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#05cbc2b40fe6236e0747cde72307c219">in_edges_end</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">out_edges_iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#c489061d4e0ce37ea53883b8ada5e36c">out_edges_begin</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">out_edges_iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#8ad4727d15ec233b96095c7b864f5dc8">out_edges_end</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">inout_edges_iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#17171329e4cb1b386f5216b80702b94e">inout_edges_begin</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">inout_edges_iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#9278d751206d4977b6de6f1a4fb72bb7">inout_edges_end</a> () const </td></tr>

<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b8b0dbc1b36724e5e4635ac651c218cb"></a><!-- doxytag: member="node::graph" ref="b8b0dbc1b36724e5e4635ac651c218cb" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#b8b0dbc1b36724e5e4635ac651c218cb">graph</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="534891c80172dde5e777a3908cc6e2f1"></a><!-- doxytag: member="node::edge" ref="534891c80172dde5e777a3908cc6e2f1" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#534891c80172dde5e777a3908cc6e2f1">edge</a></td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
A <a class="el" href="a00020.html" title="A node in a graph.">node</a> in a <a class="el" href="a00014.html" title="A directed or undirected graph.">graph</a>. 
<p>
Iterator for adjacent nodes of a <a class="el" href="a00020.html" title="A node in a graph.">node</a>.<p>
Iterator for all incident edges of a <a class="el" href="a00020.html" title="A node in a graph.">node</a>.<p>
Iterator for adjacent edges of a <a class="el" href="a00020.html" title="A node in a graph.">node</a>. <hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="82669b7358b50bd8d7888d7df4ff8dfa"></a><!-- doxytag: member="node::node" ref="82669b7358b50bd8d7888d7df4ff8dfa" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">node::node           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Default constructor. Creates an invalid <a class="el" href="a00020.html" title="A node in a graph.">node</a>. The only way to obtain a valid <a class="el" href="a00020.html" title="A node in a graph.">node</a> is through <a class="el" href="a00014.html#8dfd63c0fde7f4b552d9e3b319b5854b">graph::new_node</a> Example: <pre>
   <a class="el" href="a00014.html" title="A directed or undirected graph.">graph</a> g;
   <a class="el" href="a00020.html" title="A node in a graph.">node</a> n;</pre><p>
<pre>   n = g.new_node();
 </pre><p>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="a00014.html#8dfd63c0fde7f4b552d9e3b319b5854b">graph::new_node</a> </dd></dl>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="865fb0f86c522be2ed471f7e6bf2cd72"></a><!-- doxytag: member="node::degree" ref="865fb0f86c522be2ed471f7e6bf2cd72" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int node::degree           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the degree of the <a class="el" href="a00020.html" title="A node in a graph.">node</a>, i. e. <a class="el" href="a00020.html#faeabb676462c9c783268580e0346308">node::outdeg</a> + <a class="el" href="a00020.html#572306615483cdb92b3bbd64929662f6">node::indeg</a> . 
</div>
</div><p>
<a class="anchor" name="faeabb676462c9c783268580e0346308"></a><!-- doxytag: member="node::outdeg" ref="faeabb676462c9c783268580e0346308" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int node::outdeg           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the out degree of the <a class="el" href="a00020.html" title="A node in a graph.">node</a>, i. e. the number of outgoing edges. 
</div>
</div><p>
<a class="anchor" name="572306615483cdb92b3bbd64929662f6"></a><!-- doxytag: member="node::indeg" ref="572306615483cdb92b3bbd64929662f6" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int node::indeg           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the in degree of the <a class="el" href="a00020.html" title="A node in a graph.">node</a>, i. e. the number of incoming edges. 
</div>
</div><p>
<a class="anchor" name="f3c6d83261cbca46465367882bd8d82a"></a><!-- doxytag: member="node::opposite" ref="f3c6d83261cbca46465367882bd8d82a" args="(edge e) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="a00020.html">node</a>&amp; node::opposite           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00010.html">edge</a>&nbsp;</td>
          <td class="paramname"> <em>e</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the <a class="el" href="a00020.html" title="A node in a graph.">node</a> on the opposite side of <code>e</code>.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>an <a class="el" href="a00010.html" title="An edge in a graph.">edge</a> incident to the <a class="el" href="a00020.html" title="A node in a graph.">node</a> </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="3b99faf3a3b0d276779ecaee20dc1958"></a><!-- doxytag: member="node::is_hidden" ref="3b99faf3a3b0d276779ecaee20dc1958" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool node::is_hidden           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns true iff <a class="el" href="a00020.html" title="A node in a graph.">node</a> is hidden.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>true iff <a class="el" href="a00020.html" title="A node in a graph.">node</a> is hidden. </dd></dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="a00014.html#b2f8520bcac080d73c55228fecc61825">graph::hide_edge</a> <p>
<a class="el" href="a00014.html#2e5426682a0897b9f9104b019970bedc">graph::restore_edge</a> </dd></dl>

</div>
</div><p>
<a class="anchor" name="76dd179b0b9837b789f4d83aeeb2256c"></a><!-- doxytag: member="node::excentricity" ref="76dd179b0b9837b789f4d83aeeb2256c" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int node::excentricity           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the excentricity of the <a class="el" href="a00020.html" title="A node in a graph.">node</a>, i.e. the maximum graph-theoretic distance to another <a class="el" href="a00020.html" title="A node in a graph.">node</a><p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>excentricity of <a class="el" href="a00020.html" title="A node in a graph.">node</a>. </dd></dl>

</div>
</div><p>
<a class="anchor" name="9888b8b82c07004d312118db5faed2a3"></a><!-- doxytag: member="node::adj_nodes_begin" ref="9888b8b82c07004d312118db5faed2a3" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">adj_nodes_iterator node::adj_nodes_begin           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Iterate through all adjacent nodes.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>start for iteration through all adjacent nodes </dd></dl>

</div>
</div><p>
<a class="anchor" name="75ccc034a6dbec34b3b6040ca83b5c0d"></a><!-- doxytag: member="node::adj_nodes_end" ref="75ccc034a6dbec34b3b6040ca83b5c0d" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">adj_nodes_iterator node::adj_nodes_end           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Iterate through all adjacent nodes.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>end for iteration through all adjacent nodes </dd></dl>

</div>
</div><p>
<a class="anchor" name="3261a65141fbdb83fc43dae39096c266"></a><!-- doxytag: member="node::adj_edges_begin" ref="3261a65141fbdb83fc43dae39096c266" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">adj_edges_iterator node::adj_edges_begin           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Iterate through all adjacent edges.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>start for iteration through all adjacent edges </dd></dl>

</div>
</div><p>
<a class="anchor" name="9e0e440572dbf1a8922490d4fb0ad492"></a><!-- doxytag: member="node::adj_edges_end" ref="9e0e440572dbf1a8922490d4fb0ad492" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">adj_edges_iterator node::adj_edges_end           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Iterate through all adjacent edges.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>end for iteration through all adjacent edges </dd></dl>

</div>
</div><p>
<a class="anchor" name="c41a2f299c0476d172219fde4166fb46"></a><!-- doxytag: member="node::in_edges_begin" ref="c41a2f299c0476d172219fde4166fb46" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">in_edges_iterator node::in_edges_begin           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Iterate through all incoming edges.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>start for iteration through all incoming edges </dd></dl>

</div>
</div><p>
<a class="anchor" name="05cbc2b40fe6236e0747cde72307c219"></a><!-- doxytag: member="node::in_edges_end" ref="05cbc2b40fe6236e0747cde72307c219" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">in_edges_iterator node::in_edges_end           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Iterate through all incoming edges.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>end for iteration through all incoming edges </dd></dl>

</div>
</div><p>
<a class="anchor" name="c489061d4e0ce37ea53883b8ada5e36c"></a><!-- doxytag: member="node::out_edges_begin" ref="c489061d4e0ce37ea53883b8ada5e36c" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">out_edges_iterator node::out_edges_begin           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Iterate through all outgoing edges.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>start for iteration through all outgoing edges </dd></dl>

</div>
</div><p>
<a class="anchor" name="8ad4727d15ec233b96095c7b864f5dc8"></a><!-- doxytag: member="node::out_edges_end" ref="8ad4727d15ec233b96095c7b864f5dc8" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">out_edges_iterator node::out_edges_end           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Iterate through all outgoing edges.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>end for iteration through all outgoing edges </dd></dl>

</div>
</div><p>
<a class="anchor" name="17171329e4cb1b386f5216b80702b94e"></a><!-- doxytag: member="node::inout_edges_begin" ref="17171329e4cb1b386f5216b80702b94e" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">inout_edges_iterator node::inout_edges_begin           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Iterate through all incoming <em>and</em> outgoing edges.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>start for iteration through all incoming and outgoing edges </dd></dl>

</div>
</div><p>
<a class="anchor" name="9278d751206d4977b6de6f1a4fb72bb7"></a><!-- doxytag: member="node::inout_edges_end" ref="9278d751206d4977b6de6f1a4fb72bb7" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">inout_edges_iterator node::inout_edges_end           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Iterate through all incoming <em>and</em> outgoing edges.<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>end for iteration through all incoming and outgoing edges </dd></dl>

</div>
</div><p>
    <p class="links">
      <a href="http://www.uni-passau.de/">University of Passau</a>
      &nbsp;-&nbsp;
      <a href="http://www.fmi.uni-passau.de/">FMI</a>
      &nbsp;-&nbsp;
      <a href="http://www.fmi.uni-passau.de/fmi/lehrstuehle/brandenburg/">Theoretical
	Computer Science</a>
    </p>
  <div class="copyright">
      Design &copy; 2002, 2003 <a href="mailto:raitner@fmi.uni-passau.de">Marcus Raitner</a>,  University of Passau 
  </div>
</body>
</html>
